package com.example.demo.leetcode.jianzhi;


/**
 * 输入一个链表的头节点，从尾到头反过来返回每个节点的值（用数组返回）。
 *
 *
 *
 * 示例 1：
 *
 * 输入：head = [1,3,2]
 * 输出：[2,3,1]
 */
public class Arr_从头到尾打印数组 {
    public class ListNode {
        int val;
        ListNode next;
        ListNode(int x) { val = x; }
    }

    public int[] reversePrint(ListNode head) {

        ListNode temp = head;
        int len = 0;
        while(temp != null){
            temp = temp.next;
            len++;
        }
        int [] arr = new int [len];
        rec(len-1, arr, head);
        return arr;
    }

    public void rec(int i, int [] arr, ListNode node){

        if(node == null){
            return;
        }
        arr[i] = node.val;
        rec(i-1, arr, node.next);
    }


}
